/*
 * @Description: MCP工具基础创建模板
 * @Author:  莫若省
 * @date:  2025/9/2
 */
// 1. 导入必要类型
import { MCPToolInterface } from "../../types/index.js";
import { z } from "zod";

// 2. 工具生成函数
const toolGenerator = (): MCPToolInterface => ({
    // 3. 工具元信息
    name: "工具名称",  // 工具的唯一标识名
    description: "工具功能描述", // 简要说明工具用途

    // 4. 参数定义（使用zod进行类型校验）
    prams: {
        param1: z.string().describe("参数说明"), // 定义字符串参数
        param2: z.number().describe("数字参数说明") // 定义数字参数
    },

    // 5. 工具核心逻辑
    cb: async ({ param1, param2 }) => { // 参数会自动从prams映射
        try {
            // 6. 业务逻辑实现区
            const result = {
                success: true,
                message: "操作成功"
            };

            // 7. 返回标准化结果
            return {
                content: [{
                    text: "返回结果文本",
                    type: "text" // 支持 text/image/file 等类型
                }]
            };

        } catch (error) {
            // 8. 错误处理
            return {
                content: [{
                    text: `错误:描述处理}`,
                    type: "text"
                }]
            };
        }
    }
});

// 9. 导出工具实例至`src/mcp/use_tools.ts`
export const my_tool = toolGenerator;

/* 使用说明：
1. 修改工具名称和描述
2. 在prams中定义需要的参数
3. 在cb中实现核心逻辑
4. 确保返回符合MCP格式的结果
*/